#ifndef __LINKSTACK_h_
#define __LINKSTACK_H_

#include "DoubleLinkList.h"
#define ElementType void*

struct LinkStack;
typedef struct LinkStack LStack;

LStack* InitLinkStack();
void LSPush(LStack *s,ElementType element);
void LPop(LStack *s);
ElementType* GetSTop(LStack *s);
bool IsStackEmpty(LStack *s);
void TravelLStack(LStack *s,void(*funcPtr)(ElementType));
void ClearLStack(LStack *s,void(*clearPtr)(ElementType));
int GetStackLen(LStack *s);

#endif